package com.ruoyi.system.service.impl;

import com.ruoyi.system.domain.CoFeedback;
import com.ruoyi.system.mapper.CoFeedbackMapper;
import com.ruoyi.system.service.ICoFeedbackService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;

/**
 * 反馈 服务层实现
 */
@Service
public class CoFeedbackServiceImpl implements ICoFeedbackService {
    @Autowired
    private CoFeedbackMapper feedbackMapper;

    /**
     * 查询反馈列表
     * 
     * @param feedback 反馈信息
     * @return 反馈集合
     */
    @Override
    public List<CoFeedback> selectFeedbackList(CoFeedback feedback) {
        return feedbackMapper.selectFeedbackList(feedback);
    }

    /**
     * 查询用户的反馈列表
     * 
     * @param userId 用户ID
     * @return 反馈集合
     */
    @Override
    public List<CoFeedback> selectFeedbacksByUserId(Long userId) {
        return feedbackMapper.selectFeedbacksByUserId(userId);
    }

    /**
     * 查询合同的反馈列表
     * 
     * @param contractId 合同ID
     * @return 反馈集合
     */
    @Override
    public List<CoFeedback> selectFeedbacksByContractId(Long contractId) {
        return feedbackMapper.selectFeedbacksByContractId(contractId);
    }

    /**
     * 通过反馈ID查询反馈
     * 
     * @param feedbackId 反馈ID
     * @return 反馈对象信息
     */
    @Override
    public CoFeedback selectFeedbackById(Long feedbackId) {
        return feedbackMapper.selectFeedbackById(feedbackId);
    }

    /**
     * 新增反馈信息
     * 
     * @param feedback 反馈信息
     * @return 结果
     */
    @Override
    public int insertFeedback(CoFeedback feedback) {
        return feedbackMapper.insertFeedback(feedback);
    }

    /**
     * 修改反馈信息
     * 
     * @param feedback 反馈信息
     * @return 结果
     */
    @Override
    public int updateFeedback(CoFeedback feedback) {
        return feedbackMapper.updateFeedback(feedback);
    }

    /**
     * 删除反馈信息
     * 
     * @param feedbackId 反馈ID
     * @return 结果
     */
    @Override
    public int deleteFeedbackById(Long feedbackId) {
        return feedbackMapper.deleteFeedbackById(feedbackId);
    }

    /**
     * 批量删除反馈信息
     * 
     * @param feedbackIds 需要删除的反馈ID
     * @return 结果
     */
    @Override
    public int deleteFeedbackByIds(Long[] feedbackIds) {
        return feedbackMapper.deleteFeedbackByIds(feedbackIds);
    }

    /**
     * 更新反馈状态
     * 
     * @param feedbackId 反馈ID
     * @param status 状态
     * @return 结果
     */
    @Override
    public int updateFeedbackStatus(Long feedbackId, Integer status) {
        return feedbackMapper.updateFeedbackStatus(feedbackId, status);
    }

    /**
     * 查询反馈统计信息
     * 
     * @return 统计信息
     */
    @Override
    public Map<String, Object> selectFeedbackStats()
    {
        return feedbackMapper.selectFeedbackStats();
    }
}
